#ifndef JXLENCODER_H
#define JXLENCODER_H

#include <QObject>
#include <QProcess>

#include <QThreadPool>
#include "singleprocesstask.h"

class jxlEncoder: public QObject
{
    Q_OBJECT
public:
    jxlEncoder();
    bool inputTask(QStringList input, QStringList output, QStringList parameter, bool deleteSource=false, bool reverify=false,int CoreUsage=1);
    int state();

signals:
    void convertLog(QString);
    void convertResult(int num,int result);//

public slots:
    void convertLogRelay(QString);
    void convertResultRelay(int num,int result);

private:
    void Convert();
    void Verify();
    void hashVerify();


    //线程池
    QThreadPool threadPool;

    QStringList inputList;
    QStringList outputList;
    QStringList parameterList;

    QStringList TaskList;
    int errTaskNum=0;//not in use

    bool delSource=false;
    bool reVerify=false;


};

#endif // JXLENCODER_H
